/*
数组与动态数组 - 静态数组
https://www.bilibili.com/video/BV1gf4y1r79E/?p=12&spm_id_from=pageDriver&vd_source=8bd7b24b38e3e12c558d839b352b32f4
*/
package main

import "fmt"

func printArr(arr [4]int) {
	for idx, val := range arr {
		fmt.Println("idx = ", idx, " val = ", val)
	}
}

func main() {
	// 定长数组
	var myArray [10]int
	for i := 0; i < len(myArray); i++ {
		fmt.Println(myArray[i])
	}

	fmt.Println("==========================")
	// 定长数组 - 部分赋值
	var myArray2 = [10]int{1, 2, 3, 4}
	// 一般遍历
	for i := 0; i < len(myArray2); i++ {
		fmt.Println(myArray2[i])
	}
	// range遍历（特点！！）
	fmt.Println("==========================")
	for idx, val := range myArray2 {
		fmt.Println("idx = ", idx, " val = ", val)
	}

	// 查看数组的数据类型
	fmt.Println("==========================")
	fmt.Printf("myArray types = %T\n", myArray)
	fmt.Printf("myArray2 types = %T\n", myArray2)

	// 数组作为参数
	fmt.Println("==========================")
	// printArr(myArray) 参数类型不匹配
}
